package co.edu.eam.persitencia.entidades;

import java.io.Serializable;
import java.lang.Long;
import java.lang.String;
import java.util.List;

import javax.persistence.*;

/**
 * Entidad que representa el laboratorio del medicamento.
 *
 */
@NamedQueries({
    @NamedQuery(name = Laboratorio.FIND_ALL_LABS, query = ("SELECT lab FROM Laboratorio lab"))
})
@Entity
@Table(name = "clinica_laboratorio")
public class Laboratorio implements Serializable {

    /**
     * constante para la named query que lista todos los laboratorios
     */
    public static final String FIND_ALL_LABS = "Laboratorio.findAllLabs";
    /**
     * Identificador unico de la entidad.
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "laboratorio_id")
    private Long id;
    /**
     * C�digo del laboratorio.
     */
    @Column(name = "laboratorio_codigo")
    private String codigo;
    /**
     * Nombre del laboratorio.
     */
    @Column(name = "laboratorio_nombre")
    private String nombre;
    /**
     * Lista de medicamentos del laboratorio.
     */
    @OneToMany(mappedBy = "laboratorio")
    private List<Medicamento> medocamentos;

    /**
     * Constructor sin parametros.
     */
    public Laboratorio() {
        super();
    }

    /**
     * @return the id
     */
    public Long getId() {
        return id;
    }

    /**
     * @param id the id to set
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * @return the codigo
     */
    public String getCodigo() {
        return codigo;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    /**
     * @return the nombre
     */
    public String getNombre() {
        return nombre;
    }

    /**
     * @param nombre the nombre to set
     */
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    /**
     * @return the medocamentos
     */
    public List<Medicamento> getMedocamentos() {
        return medocamentos;
    }

    /**
     * @param medocamentos the medocamentos to set
     */
    public void setMedocamentos(List<Medicamento> medocamentos) {
        this.medocamentos = medocamentos;
    }

    public String toString() {
        return nombre;
    }
}
